/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.ufg.inf.pos.bd;

import java.util.List;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author luan
 */
public class LocalizacaoServiceImpl implements LocalizacaoService{
    LocalizacaoDao localizacaoDao;

    public LocalizacaoServiceImpl() {
        
        localizacaoDao = new LocalizacaoDaoImpl();
    }

    @Override
    public DefaultTableModel cadastrarSetor(Localizacao localizacao) throws RegraNegocioException {
        verificaIntegridade(localizacao);
      int codigoCadastrado = localizacaoDao.salvar(localizacao);
        return listarSetoresJtable();
    }

    @Override
    public DefaultTableModel listarSetoresJtable() {
        
        return localizacaoDao.listarCategoriaJtable();
    }

    @Override
    public List<Localizacao> listarLocalizacao() {
  return localizacaoDao.getAll();
    }
    
    private void verificaIntegridade(Localizacao localizacao) {
        
        if(localizacao.getNomeLocalizacao().equalsIgnoreCase("") ||
                localizacao.getNomeLocalizacao() == null){
            throw new RegraNegocioException("Favor informar a LOCALIZAÇÃO");
        } else if(localizacao.getDescriçãoLocalizacao().equalsIgnoreCase("") || 
            localizacao.getDescriçãoLocalizacao() == null    ){
            throw new RegraNegocioException("Favor informar a DESCRIÇÃO");
        } else if(localizacao.getTipoLocalizacao() == null){
            throw new RegraNegocioException("Favor informar o TIPO de localização");
        } 
    }
}
